'Grafik von Stefan Huchler CLEAR FOR j= 0 TO 8 READ sp%(j):NEXT DATA 65,0,120,0,22200,64,10,0,0 k1=6:k2=3:k3=4 SCREEN 2,640,200,3,2 WINDOW 3,"3D",,8,2 COLOR 2,1:CLS LOCATE 2,2:PRINT "Räumliche Betrachtung von Funktionen mit der Rot-Grün-Brille" LOCATE 4,9:PRINT "Geschrieben von Stefan Huchler März 1987" LOCATE 8,2:PRINT "Auswahl der Funktion : "+CHR$(187) st3:i$=INKEY$:IF i$="" THEN GOTO st3 WINDOW CLOSE 3 SCREEN CLOSE 2 GOTO auswahl 'Grafik-Fenster öffnen weiter: WINDOW CLOSE 3 SCREEN CLOSE 2 SCREEN 2,640,400,3,4 WINDOW 2,"Graphik",,8,2 PALETTE 6,1,1,1 PALETTE 1,0,0,0 PALETTE 0,0,0,0 PALETTE 4,0.33,0.87,0 PALETTE 5,0.93,0.2,0 COLOR 1,2:CLS 'Zeichnen der Funktion 'x-Achsen 'gruen FOR y1=-17 TO 17 STEP 2 x=100+(y1*5) z1=FNf(-1.7,y1/10) y=350-(z1+y1*5):PSET (x,y),4 FOR x1=-16 TO 17 z1= FNf(x1/10,y1/10) x=x+10 y=350-(z1+5*y1) LINE STEP(0,0)-(x,y),4 NEXT x1 NEXT y1 'rot a=17 FOR y1=-17 TO 17 STEP 2 a=a-2:x=100+(y1*5)+3+a/k2 z1=FNf(-1.7,y1/10) y=350-(z1+y1*5)-k1:PSET (x,y),5 FOR x1=-16 TO 17 z1= FNf(x1/10,y1/10) x=x+10 y=350-(z1+5*y1)-k1 LINE STEP(0,0)-(x,y),5 NEXT x1 NEXT y1 'y-Achsen 'gruen x0=-5 FOR x1=-17 TO 17 STEP 2 x0=20+x0:x=x0 z1=FNf(x1/10,-1.7) y=350-(z1-85):PSET (x,y),4 FOR y1=-16 TO 17 z1= FNf(x1/10,y1/10) x=x+5 y=350-(z1+5*y1) LINE STEP(0,0)-(x,y),4 NEXT y1 NEXT x1 'rot x0=-5 FOR x1=-17 TO 17 STEP 2 x0=20+x0:x=x0 z1=FNf(x1/10,-1.7) y=350-(z1-85)-k1:PSET (x+8.7,y),5 a=16 FOR y1=-16 TO 17 a=a-1 z1= FNf(x1/10,y1/10) xx=3+a/k2 x=x+5 y=350-(z1+5*y1)-k1 LINE STEP(0,0)-(x+xx,y),5 NEXT y1 NEXT x1 COLOR 6,2 s$=TRANSLATE$("press any key to continue") SAY s$,sp% st2:i$=INKEY$:IF INKEY$="" THEN GOTO st2 'Auswahlmenue zeigen auswahl: SCREEN 2,640,200,3,2 WINDOW 3,"3D",,8,2 CLS:LOCATE 1,10:PRINT "Auswahl" LOCATE 4,5:PRINT "Ende : (0)" LOCATE 6,5:PRINT "Mulde : (1)" LOCATE 8,5:PRINT "Hut : (2)" LOCATE 10,5:PRINT "Glocke : (3)" LOCATE 12,5:PRINT "Blüte : (4)" LOCATE 14,5:PRINT "Wanne : (5)" LOCATE 16,5:PRINT "Gewölbe : (6)" LOCATE 18,5:PRINT "Welle : (7)" LOCATE 20,5:PRINT "Sinus : (8)" LOCATE 22,5:PRINT "Kugel : (9)" LOCATE 1,45:PRINT "Räumliche Wirkung :" LOCATE 4,45:PRINT "normal : (n)" LOCATE 6,45:PRINT "extrem : (e)" st4:LOCATE k3,59:PRINT CHR$(171):LOCATE k3+2,59:PRINT " ":LOCATE k3-2,59:PRINT " " st1:i$=INKEY$:IF i$="" THEN GOTO st1 IF i$="n" THEN k1=6:k2=3:k3=4:GOTO st4 IF i$="e" THEN k1=8:k2=2:k3=6:GOTO st4 IF ASC(i$)<48 OR ASC(i$)>57 THEN GOTO st1 ON VAL(i$)+1 GOTO ende,f1,f2,f3,f4,f5,f6,f7,f8,f9 ende: PALETTE 1,1,1,1 PALETTE 0,0.4,0.6,1 WINDOW CLOSE 3 SCREEN CLOSE 2 END f1: DEF FNf(x,y)=150*SIN(SQR(x*x+y*y)) GOTO weiter f2: DEF FNf(x,y)=80*(COS(SQR(x*x+y*y))-COS(3*SQR(x*x+y*y))/3+COS(5*SQR(x*x+y*y))/5-COS(7*SQR(x*x+y*y))/7)+150 GOTO weiter f3: DEF FNf(x,y)=150*EXP((x*x+y*y)/-2)+100 GOTO weiter f4: DEF FNf(x,y)=80*((x*x)^(1/3)+(y*y)^(1/3))-30 GOTO weiter f5: DEF FNf(x,y)=100*(EXP(-COS(SQR(x*x+y*y)))) GOTO weiter f6: DEF FNf(x,y)=140*(EXP(-(x)*x)+EXP(-(y)*y)-EXP(-(x)*x-(y)*y)+0.5) GOTO weiter f7: DEF FNf(x,y)=20*(SIN(x*5)+SIN(y*5))+110 GOTO weiter f8: DEF FNf(x,y)=60*(SIN(x*2)+COS(y*2))+180 GOTO weiter f9: DEF FNf(x,y)=100*(SIN(1.5708-ATN(SQR(x*x+y*y)/SQR(ABS(1-(x*x+y*y))))))+50 GOTO weiter